const cart = ['apple', 'banana', 'carrot', 'onion']
//creatOrder, proceedToPayment, showOrderSummary, updateWallet
//延續同樣的例子
creatOrder(cart)
 .then(function (orderID) {
    //proceedToPayment(orderID)
    //目前還沒有寫到proceedToPayment函式,先comment
    //用console.log(orderID)測試
    console.log(orderID);
 })
const pr = new Promise(function (resolve, reject) {
	resolve() //成功的回傳結果
	reject() //失敗的回傳結果
})
function creatOrder(cart) {
	const pr = new Promise(function (resolve, reject) {
		if (!validateOrder(cart)) {
			const err = new Error('the cart is not valid')
			reject(err)
		}
		const orderID = 's0001'
		resolve(orderID)
	})
	return (pr)
}
function validateOrder(cart) {
	return true
}
//s0001
return false
catch
creatOrder(cart)
  .then(function (orderID) {
   // proceedToPayment(orderID)
   console.log(orderID);
  })
  .catch(function (err) {
    console.log(err.message);
  })
此時devtool的回傳就可以看出已成功的把錯誤訊息傳達給使用者
function proceedToPayment(orderID) {
		return new Promise(function (resolve, reject) {
			resolve('the payment is successful')
	})
}
creatOrder(cart)
	.then(function (orderID) {
		console.log(orderID);
		return orderID
	})
	.then(function (orderID) {
		return proceedToPayment(orderID)
	})
	.then(function (paymentInfo) {
    console.log(paymentInfo);
	})
devtool回傳
creatOrder(cart)
	.then(function (orderID) {
		console.log(orderID);
		return orderID
	})
	.then(function (orderID) {
		return proceedToPayment(orderID).then(function (paymentInfo) {
			console.log(paymentInfo);
		})
	})	
return false,devtool只會回傳錯誤訊息creatOrder(cart)
	.then(function (orderID) {
		console.log(orderID);
		return orderID
	})
	.then(function (orderID) {
		return proceedToPayment(orderID)
	})
	.then(function (paymentInfo) {
		console.log(paymentInfo);
	})	
	.catch(function (err) {
		console.log(err.message);
	})
	
function creatOrder(cart) {
	const pr = new Promise(function (resolve, reject) {
		if (!validateOrder(cart)) {
			const err = new Error('the cart is not valid.')
			reject(err)
		}
		const orderID = 's0001'
		resolve(orderID)
	})
	return (pr)
}
function validateOrder(cart) {
	return false
}
function proceedToPayment(orderID) {
		return new Promise(function (resolve, reject) {
			resolve('the payment is successful')
	})
}

creatOrder(cart)
	.then(function (orderID) {
		console.log(orderID);
		return orderID
	})
	.catch(function (err) {
		console.log(err.message);
	})
	.then(function (orderID) {
		return proceedToPayment(orderID)
	})
	.then(function (paymentInfo) {
		console.log(paymentInfo);
	})	
	


the payment is successful
promise真的要多練習幾次,光練習寫程式,卡住的次數完全數不清,花了一整天時間,影片來來回回,但越寫越有趣,而且寫出來的程式真的很簡潔美麗,真是個強大的語法。
努力看完天書後,來點輕鬆的吧!分享我兒子的童言童語,調劑身心一下
2021/03/13
咖:我聞到香味了
我:什麼香味?
咖:我肚子裡飲料的香味。
我:你那是打嗝吧⋯
咖:對啊!
還好沒說我也要聞
2021/03/12
咖:媽媽,我跟你合開一家公司
我:哇!什麼公司?
咖:巴士公司
我:好喔!我們去開巴士賺錢錢
咖:巴士公司需要很多巴士!
我:⋯
這是陷阱題嗎?